home *** CD-ROM | disk | FTP | other *** search
/ IRIX Base Documentation 2001 May / SGI IRIX Base Documentation 2001 May.iso / usr / share / catman / a_man / cat7 / scsiha.z / scsiha
Encoding:
Text File  |  2001-04-17  |  6.2 KB  |  199 lines

  1.  
  2.  
  3.  
  4. SSSSCCCCSSSSIIIIHHHHAAAA((((7777MMMM))))                                                          SSSSCCCCSSSSIIIIHHHHAAAA((((7777MMMM))))
  5.  
  6.  
  7.  
  8. NNNNAAAAMMMMEEEE
  9.      scsiha - SCSI bus and loop operation driver
  10.  
  11. SSSSYYYYNNNNOOOOPPPPSSSSIIIISSSS
  12.      /hw/scsi_ctlr/<number>/bus
  13.  
  14. DDDDEEEESSSSCCCCRRRRIIIIPPPPTTTTIIIIOOOONNNN
  15.      The scsiha driver is used to pass requests to the scsi host adapter
  16.      drivers to perform activities that aren't related to SCSI commands issued
  17.      to individual devices.  On parallel SCSI, this includes operations like
  18.      resetting a SCSI bus and probing for devices.  With Fibrechannel, it adds
  19.      loop initialization, device reset and port bypass.
  20.  
  21.      All communication through the scsiha driver is via ioctls.  Opens and
  22.      closes automatically succeed.  The ioctl structure is defined in
  23.      <_s_y_s/_s_c_s_i._h>, and is called _s_c_s_i__h_a__o_p . The _s_c_s_i__h_a__o_p structure:
  24.  
  25.        struct scsi_ha_op
  26.        {
  27.          uint    sb_opt;    /* command option */
  28.          uint    sb_arg;    /* usually data count */
  29.          uintptr_t sb_addr;   /* usually user address */
  30.        };
  31.        typedef struct scsi_ha_op scsi_ha_op_t;
  32.  
  33.  
  34.  
  35.  
  36.      The _s_b__o_p_t field is typically used to specify different options to the
  37.      ioctl.  For example, the debug level of the host adapter driver, or a
  38.      sub-operation code.
  39.      The _s_b__a_r_g field is typically used to specify how much data to transfer
  40.      to/from the user level application and the driver.
  41.      The _s_b__a_d_d_r field should contain the user address to transfer the data
  42.      to/from.
  43.  
  44.      There are a number of different ioctls that can be issued.
  45.  
  46.      SOP_RESET - fields unused
  47.      SOP_SCAN - fields unused
  48.      SOP_DEBUGLEVEL - uses sb_opt
  49.      SOP_LIP - fields unused
  50.      SOP_LIPRST - sb_opt is target ID to reset (255 = all targets)
  51.      SOP_LPB - sb_opt is target ID to bypass
  52.      SOP_LPE - sb_opt is target ID to enable
  53.      SOP_LPEALL - fields unused
  54.      SOP_QUIESCE - sb_opt is time for quiesce attempt, sb_arg is time for
  55.      quiesce to be active
  56.      SOP_QUIESCE_STATE - sb_addr is address of state variable
  57.      SOP_UN_QUIESCE - fields unused
  58.      SOP_GET_SCSI_PARMS - sb_addr is address to receive data
  59.  
  60.  
  61.  
  62.  
  63.                                                                         PPPPaaaaggggeeee 1111
  64.  
  65.  
  66.  
  67.  
  68.  
  69.  
  70. SSSSCCCCSSSSIIIIHHHHAAAA((((7777MMMM))))                                                          SSSSCCCCSSSSIIIIHHHHAAAA((((7777MMMM))))
  71.  
  72.  
  73.  
  74.      Hardware Interface Driver Support
  75.  
  76.      IOCTL               WD93    WD95    SCIP    QL      ADP78   FCADP   QLFC
  77.      ------------------------------------------------------------------------
  78.      SOP_RESET           YES     YES     YES     YES     YES     YES     YES
  79.      SOP_SCAN            YES     YES     YES     YES     YES     YES     YES
  80.      SOP_DEBUGLEVEL      NO      NO      NO      YES     NO      YES     YES
  81.      SOP_LIP             NO      NO      NO      NO      NO      YES     YES
  82.      SOP_LIPRST          NO      NO      NO      NO      NO      YES     YES
  83.      SOP_LPB             NO      NO      NO      NO      NO      YES     NO
  84.      SOP_LPE             NO      NO      NO      NO      NO      YES     NO
  85.      SOP_LPEALL          NO      NO      NO      NO      NO      YES     NO
  86.      SOP_QUIESCE         NO      NO      NO      YES     NO      YES     YES
  87.      SOP_QUIESCE_STATE   NO      NO      NO      YES     NO      YES     YES
  88.      SOP_UNQUIESCE       NO      NO      NO      YES     NO      YES     YES
  89.      SOP_GET_SCSI_PARMS  NO      NO      NO      YES     YES     NO      NO
  90.  
  91.  
  92.      Utilization By Program
  93.  
  94.      IOCTL               scsiha  scsiadminswap   scsiquiesce
  95.      -------------------------------------------------------
  96.      SOP_RESET           YES         NO          NO
  97.      SOP_SCAN            YES         YES         YES
  98.      SOP_DEBUGLEVEL      YES         NO          NO
  99.      SOP_LIP             YES         NO          NO
  100.      SOP_LIPRST          YES         NO          NO
  101.      SOP_LPB             YES         NO          NO
  102.      SOP_LPE             YES         NO          NO
  103.      SOP_LPEALL          YES         NO          NO
  104.      SOP_QUIESCE         NO          YES         YES
  105.      SOP_QUIESCE_STATE   NO          YES         YES
  106.      SOP_UNQUIESCE       NO          YES         YES
  107.      SOP_GET_SCSI_PARMS  YES         NO          NO
  108.  
  109. AAAATTTTTTTTRRRRIIIIBBBBUUUUTTTTEEEESSSS
  110.      The qlfc and fcadp drivers make the adapter's portname (sometimes known
  111.      as the World Wide Name) available as a hardware graph attribute
  112.      "_fc_portname" on the controller's bus vertex.  The attribute's value is
  113.      8 bytes long and stored as a uint64_t.  See _a_t_t_r__g_e_t(_2) for details on
  114.      retrieving this value.
  115.  
  116.  
  117. NNNNOOOOTTTTEEEESSSS
  118.      Since the driver provides direct access to the SCSI host adapter, the
  119.      system administrator must be very careful in setting up the permissions
  120.      on the device files, lest security holes occur, no checking is performed
  121.      for potentially dangerous actions (bus reset, get data, send data, port
  122.      bypass).  There should be no reason for non-superuser use of this driver
  123.      interface.  Resetting a SCSI bus can affect currently running programs.
  124.      Anything that is using a tape drive will be aborted when the bus is
  125.      reset.
  126.  
  127.  
  128.  
  129.                                                                         PPPPaaaaggggeeee 2222
  130.  
  131.  
  132.  
  133.  
  134.  
  135.  
  136. SSSSCCCCSSSSIIIIHHHHAAAA((((7777MMMM))))                                                          SSSSCCCCSSSSIIIIHHHHAAAA((((7777MMMM))))
  137.  
  138.  
  139.  
  140. FFFFIIIILLLLEEEESSSS
  141.      /_h_w/_s_c_s_i__c_t_l_r/#/_b_u_s
  142.  
  143. SSSSEEEEEEEE AAAALLLLSSSSOOOO
  144.      ds(7M) to issue SCSI commands directly to devices.
  145.      scsiha(1m), scsiquiesce(1m), scsiadminswap(1m), for programs that use
  146.      this driver.
  147.  
  148.  
  149.  
  150.  
  151.  
  152.  
  153.  
  154.  
  155.  
  156.  
  157.  
  158.  
  159.  
  160.  
  161.  
  162.  
  163.  
  164.  
  165.  
  166.  
  167.  
  168.  
  169.  
  170.  
  171.  
  172.  
  173.  
  174.  
  175.  
  176.  
  177.  
  178.  
  179.  
  180.  
  181.  
  182.  
  183.  
  184.  
  185.  
  186.  
  187.  
  188.  
  189.  
  190.  
  191.  
  192.  
  193.  
  194.  
  195.                                                                         PPPPaaaaggggeeee 3333
  196.  
  197.  
  198.  
  199.